xen_start = (hvirt_start >> L2_PAGETABLE_SHIFT_PAE) & 0x1ff;
}
+ if (pt_levels == 4 && type == L4TAB) {
+ /*
+ ** XXX SMH: should compute these from hvirt_start (which we have)
+ ** and hvirt_end (which we don't)
+ */
+ xen_start = 256;
+ xen_end = 272;
+ }
+
/* Now iterate through the page table, canonicalizing each PTE */
for (i = 0; i < pte_last; i++ ) {
}
/* Domain is still running at this point */
-
- if (live && (pt_levels == 4)) {
- ERR("Live migration not supported for 64-bit guests");
- live = 0;
- }
-
if (live) {
if (xc_shadow_control(xc_handle, dom,
for (i = 0; i < max_pfn; i++) {
mfn = live_p2m[i];
- if((mfn != 0xffffffffUL) && (mfn_to_pfn(mfn) != i)) {
+ if((mfn != INVALID_P2M_ENTRY) && (mfn_to_pfn(mfn) != i)) {
DPRINTF("i=0x%x mfn=%lx live_m2p=%lx\n", i,
mfn, mfn_to_pfn(mfn));
err++;
try:
l = read_exact(fd, sizeof_unsigned_long,
"not a valid guest state file: pfn count read")
- nr_pfns = unpack("=L", l)[0] # XXX endianess
+ nr_pfns = unpack("L", l)[0] # native sizeof long
if nr_pfns > 16*1024*1024: # XXX
raise XendError(
"not a valid guest state file: pfn count out of range")